package mx.com.matersys.vacs.domain;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import flexjson.JSONDeserializer;
import flexjson.JSONSerializer;

privileged aspect PacienteJson {
	
	public String Paciente.toJson() {
		return new JSONSerializer().exclude("*.class").serialize(this);
	}

	public static Paciente Paciente.fromJsonToPaciente(String json) {
		return new JSONDeserializer<Paciente>().use(null, Paciente.class)
				.deserialize(json);
	}

	public static String Paciente.toJsonArray(Collection<Paciente> collection) {
		return new JSONSerializer().exclude("*.class").serialize(collection);
	}

	public static Collection<Paciente> Paciente.fromJsonArrayToPacientes(
			String json) {
		return new JSONDeserializer<List<Paciente>>()
				.use(null, ArrayList.class).use("values", Paciente.class)
				.deserialize(json);
	}
}
